//1014.最佳观光组合
class Solution {
public:
    int maxScoreSightseeingPair(vector<int>& values) {
        //枚举右,维护左
        //将左边的value[i]+i的最大值维护起来
        int n=values.size();

        int ret=0,before=values[0]+0;  //before记录左边value[i]-i的最大值
        for(int i=1;i<n;i++)
        {
            int now=values[i]-i;
            ret=max(ret,now+before);   //更新最高分

            before=max(before,values[i]+i);
        }
        return ret;
    }
};